/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.msk.base.mapper.goodsMember;


import com.msk.base.domain.goodsMember.GoodsMember;
import com.msk.sys.domain.User;
import com.msk.sys.mapper.CrudDao;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.Map;

/**
 * <p>[]</p>
 * <p>作者：lh</p>
 * <p>邮箱：lh@xiangyou.com</p>
 * <p>创建时间： 2018-11-30 </p>
 * <p>类说明：修改信息DAO接口 </p>
 * <p>修改记录：</p>
 */
@Repository
public interface GoodsMemberDao extends CrudDao<GoodsMember> {
	Long findCount(GoodsMember goodsMember);

	GoodsMember findentityByUser(User user);

	GoodsMember findByUserid(String userId);

	GoodsMember getByMobile(String username);

	GoodsMember getByLoginName(String username);

	void updateStatus(GoodsMember goodsMember);

	int uniqSocialCode(@Param("unifiedSocialCreditCode") String unifiedSocialCreditCode, @Param("id") String id);

	int comNameCheck(@Param("comName") String comName, @Param("id") String id);
	/**
	 * 根据客户Id获取货主信息
	 * @param customId
	 * @return
	 */
	GoodsMember getByCompany1Id(String customId);

	/**
	 * 设置货主等级
	 * @param goodsMember
	 * @return
	 */
	int updateMemberLevel(GoodsMember goodsMember);

	/**
	 * @Description 货主审批状态查询
	 * @Author wlxiang
	 * @Date 17:26 2023/6/5
	 * @Param
	 * @param id
	 * @param userId
	 * @return java.util.Map<java.lang.String,java.lang.Object>
	 **/
	public Map<String,Object> selectAuditInfoById(@Param("id") String id, @Param("userId")String userId);

	/**
	 * @Description MP货主详情
	 * @Author wlxiang
	 * @Date 10:26 2023/6/7
	 * @Param 
	 * @param id
	 * @param userId
	 * @return java.util.Map<java.lang.String,java.lang.Object>
	 **/
	public Map<String,Object> selectGoodsMemberInfoById(@Param("id") String id, @Param("userId")String userId);

	/**
	 * @author llh
	 * @date 2023/6/20
	 * @return java.util.Map<java.lang.String,java.lang.Integer>
	 * @description 小程序获取货主运单数据统计信息
	 */
	public Map<String,Integer> getGoodsData(@Param("companyId") String companyId,
											@Param("status") String status,
											@Param("startDate") String startDate,
											@Param("endDate") String endDate);
}